package contatos.patterns.chainofresponsbility;

import contatos.model.Contato;

/**
 * Esse handler identifica se o DDD de um contato é de ES.
 * DDDs ES:
 * <ul>
 *  <li>27</li>
 *  <li>28</li>
  * </ul>
 * 
 * @author felipe
 * @see AbstractTelefoneHandler
 */
public class EShandler extends AbstractTelefoneHandler{

    @Override
    public boolean accept(String telefone) {
       return (telefone.startsWith("27") || telefone.startsWith("28"));
    }
    
    @Override
    public void doHandle(Contato pessoa) {
        pessoa.setUf("ES");
        int telefone = Integer.parseInt(pessoa.getTelefone().substring(2, 4));
        if (telefone >= 96 && telefone <= 99) {
            pessoa.setOperadora("VIVO");
        } else if (telefone >= 91 && telefone <= 94) {
            pessoa.setOperadora("CLARO");
        } else if (telefone >= 86 && telefone <= 88) {
            pessoa.setOperadora("OI");
        } else if (telefone >= 80 && telefone <= 83) {
            pessoa.setOperadora("TIM");
        }
        
        

    }
    
}
